import {inputData} from '../services/create';  // request 是 demo 项目脚手架中提供的一个做 http 请求的方法，是对于 fetch 的封装，返回 Promise
import { message} from 'antd';

const delay = (millisecond) => {
  return new Promise((resolve) => {
    setTimeout(resolve, millisecond);
  });
};

export default {
  namespace: 'create',
  state: {
    data: [],
    counter: 0,
      },
  effects: {
    *submit({ payload}, sagaEffects) {
      const { call, put } = sagaEffects;
      const endPointURI = '/create/commit';
      console.log("the payload is ",payload);
      /*try { */// 加入 try catch 捕获抛错
    const puzzle = yield call(inputData, payload);
    //syield put({ type: 'addNewCard', payload: puzzle });
    console.log("the puzzle is ",puzzle);
    return puzzle;
  /*} *//*catch (e) {
    message.error('数据获取失败'); // 打印错误信息
  }*/
    }
  },
  reducers: {
    addNewCard(state, { payload: newCard }) {
      const nextCounter = state.counter + 1;
      const newCardWithId = { ...newCard, id: nextCounter };
      const nextData = state.data.concat(newCardWithId);
      return {
        data: nextData,
        counter: nextCounter,
      };
    }
  },
};